home *** CD-ROM | disk | FTP | other *** search
/ Business Assistant / Business Assistant.iso / indus / rental / jourp.prg < prev    next >
Text File  |  1986-06-01  |  16KB  |  553 lines

  1. **    Last revision: April 6, 1986 at 15:54
  2. * program to print out or display journals
  3. CLEA
  4. STOR '99' TO build1
  5. STOR .t. TO maybe
  6. STOR 'N' TO answer
  7. STOR 'Y' TO printer
  8. STOR 'N' TO disk
  9. STOR '        ' TO filename
  10. STOR '?' TO select
  11. STOR .t. TO more
  12. DO WHIL more
  13.  IF clipper
  14.   @ 0,0, 22, 79 BOX frame
  15.   @ 4,1 SAY line1
  16.   @ 19,1 SAY line1
  17.  ELSE
  18.   @ 0,0 TO 4,79
  19.   @ 0,0 TO 19,79
  20.   @ 0,0 TO 22,79 DOUBLE
  21.  ENDI
  22.  @ 20,5 SAY 'Please select one of the above options. You may also leave this menu'
  23.  @ 21,5 SAY "by typing 'Q' and get on-line HELP by typing '?'."
  24.  @ 2,04 SAY dconame + '  -  ACCOUNTING REPORT MENU'
  25.  @ 2,65 SAY DTOC(DATE())
  26.  @ 7,27 SAY "A. Cash Receipts Journal"
  27.  @ 8,27 SAY "B. Cash Disbursements Journal"
  28.  @ 9,27 SAY "C. General Journal"
  29.  @ 10,27 SAY "D. General Ledger"
  30.  @ 11,27 SAY "E. Display records on screen"
  31.  @ 12,27 SAY "F. Reindex"
  32.  @ 13,27 SAY "G. Return to Main Menu"
  33.  @ 17,23 SAY "PLEASE SELECT ONE OF THE OPTIONS"
  34.  @ 17,58 GET select PICTURE '!'
  35.  READ
  36.  DO WHIL AT(select, 'ABCDEFG?Q') = 0
  37.   STOR '?' TO select
  38.   @ 17,58 GET select PICTURE '!'
  39.   READ
  40.  ENDD
  41.  CLEA GETS
  42.  IF select >='A' .AND. select <  'E'
  43. * select building
  44.   @ 17,01 SAY SPACE(75)
  45.   @ 17,01 SAY "          What building shall we do ('99' for all) ?    "
  46.   @ 17,60 GET build1 PICTURE '99'
  47.   READ
  48. * get a starting  point
  49.   STOR '00/00/00' TO stdat
  50.   @ 17,01 SAY SPACE(75)
  51.   @ 17,01 SAY '          What is the starting date (MM/DD/YY) ?  '
  52.   @ 17,57 GET stdat PICTURE '99/99/99'
  53.   READ
  54.   STOR SUBSTR(stdat,7,2)+SUBSTR(stdat,1,2)+SUBSTR(stdat,4,2) TO stday
  55.   STOR VAL(stday) TO stdate
  56.   RELE stday
  57.   STOR DTOC(date()) TO enddat
  58.   @ 18,01 SAY '          What is the cutoff date for entries?   '
  59.   @ 18,57 GET enddat PICTURE '99/99/99'
  60.   READ
  61.   STOR SUBSTR(enddat,7,2)+SUBSTR(enddat,1,2)+SUBSTR(enddat,4,2) TO endday
  62.   STOR VAL(endday) TO enddate
  63.   RELE endday
  64.   @ 17,01 SAY SPACE(75)
  65.   @ 18,01 SAY SPACE(75)
  66.   STOR LEN(dconame)/2  TO L
  67.   STOR 40-L TO L
  68.   STOR '                                        ' TO bl
  69.   STOR SUBSTR(bl,1,L) + dconame TO coname1
  70.   RELE L, bl
  71.   @ 17,01 SAY "          Send Report to the Printer (Y/N)  "
  72.   @ 18,01 SAY SPACE(75)
  73.   @ 17,55 GET printer PICTURE '!'
  74.   READ
  75.   @ 18,01 SAY "          Send Report to a Disk File (Y/N) "
  76.   @ 18,55 GET disk PICTURE '!'
  77.   READ
  78.   IF disk ='Y'
  79.    @ 17,01 SAY SPACE(75)
  80.    @ 18,01 SAY SPACE(75)
  81.    @ 17,01 SAY "                    Enter Disk File Name    "
  82.    @ 18,01 SAY SPACE(75)
  83.    @ 17,44 GET filename PICTURE '!!!!!!!!'
  84.    @ 17,54 SAY "(.TXT will be added )"
  85.    READ
  86.    @ 18,01 SAY '                    Select drive to put Files on    '
  87.    @ 18,55 GET dr PICTURE '!'
  88.    READ
  89.    DO WHIL AT(dr,'ABCD') = 0
  90.     @ 18,55 GET dr PICTURE '!'
  91.     READ
  92.    ENDD while @
  93.   ENDI disk = Y
  94.   IF printer = 'Y'
  95.    @ 17,01 SAY SPACE(75)
  96.    @ 18,01 SAY SPACE(75)
  97.    @ 17,01 SAY '        MAKE PRINTER READY AND THEN HIT ANY KEY       '
  98.    SET CONSOLE OFF
  99.    WAIT
  100.    SET CONSOLE ON
  101.    SET print ON
  102.   ENDI printer = Y
  103.   IF disk = 'Y' .AND. filename <> ' '
  104. * make a proper REPORT file name that is of type TXT
  105.    STOR AT('.',filename) TO length
  106.    IF length = 0 .OR. length > 8
  107.     STOR 9 TO length
  108.    ENDI length
  109.    STOR SUBSTR(filename,1,length-1) TO filename
  110.    STOR '&dr.:'+filename+'.TXT' TO filename
  111.    SET ALTERNATE TO &filename
  112.    SET ALTERNATE ON
  113.   ENDI disk = Y and filename <> ''
  114.  ENDI select
  115.  CLEA
  116.  CLEA GETS
  117.  DO CASE
  118.  CASE select = 'A'
  119.   CLOS INDEX
  120.   GO TOP
  121. * initialize variables
  122.   STOR 0 TO pageno
  123.   STOR 0 TO counter
  124.   STOR 0 TO mamount
  125.   STOR 0 TO amt
  126.   STOR .t. TO more1
  127.   SET MARGIN TO 3
  128.   DO WHIL more1
  129. * do page counter etc
  130.    STOR pageno + 1 TO pageno
  131.    STOR 4 TO lineno
  132.    CLEA
  133.    ? '  '
  134. * and write TITLE
  135.    IF pageno = 1
  136.     ? coname1
  137.     ? '                              CASH RECEIPTS JOURNAL'
  138.     ? ' '
  139.     ? 'Report of ' +DTOC(date()) + '.                  ' + 'Covering period ' +stdat  + ' to   ' + enddat
  140.     STOR lineno + 4 TO lineno
  141.    ENDI pageno = 1
  142.    ? '                                                                    ' + 'PAGE ' + STR(pageno,2)
  143.    ? '  Date    Check #'+'  Payor/Description '+ '     Account  Prop   ' + '  ' + 'Amount'
  144.    ? "----------------------------------------------------------------------------"
  145.    ? ' '
  146. * now fill up rest of page to 50 lines with entries
  147.    DO WHIL lineno < 50
  148. * now do a page if not end of file
  149.     IF .NOT. EOF()
  150.      STOR VAL(date) TO stdate1
  151.      IF (build1 = '99' .OR. build1 = SUBSTR(data,5,2)).AND.((stdate1 >= stdate .AND. stdate1 <= enddate) .AND. SUBSTR(data,40,1) = 'R')
  152.       STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+'     ' TO m1
  153.       IF SUBSTR(data,5,2) = '00'
  154.        STOR '  ' TO prop
  155.       ELSE
  156.        STOR SUBSTR(data,5,2) TO prop
  157.       ENDI
  158.       ? m1+SUBSTR(data,1,4)+'  '+SUBSTR(data,12,20)+'     '+SUBSTR(data,7,4) + '     ' + prop+'   ' + STR(amount,12,2)
  159.       STOR mamount + amount TO mamount
  160.       SKIP
  161.       IF amount < 0
  162.        STOR amount*-1 TO amt
  163.       ELSE
  164.        STOR amount TO amt
  165.       ENDI amount
  166.       ? '                   '+SUBSTR(data,12,20)+'     '+SUBSTR(data,7,4) + '                 ' + STR(amt,12,2)
  167.       ? ' '
  168.       STOR lineno +3 TO lineno
  169.       SKIP
  170.      ELSE
  171.       SKIP
  172.      ENDI (stdate1)
  173.     ELSE
  174.      ? ' '
  175.      ? '                       TOTAL RECEIPTS FOR THIS PERIOD:  '  + STR(mamount,12,2)
  176.      ? ' '
  177.      STOR .f. TO more1
  178.      STOR 60 TO lineno
  179.     ENDI not EOF
  180.    ENDD while lineno < 50
  181.   ENDD more1
  182. * if it was on turn it off or add a formfeed
  183.   IF printer = 'Y'
  184.    EJEC
  185.    SET PRINT OFF
  186.   ENDI
  187.   IF disk = 'Y'
  188.    ? CHR(12)
  189.   ENDI 
  190.   SET ALTERNATE OFF
  191.   ? '                                           Hit any key to continue'
  192.   SET CONSOLE OFF
  193.   WAIT
  194.   SET CONSOLE ON
  195.   CLEA
  196.   SET MARGIN TO
  197.   STOR 'Y' TO printer
  198.   STOR 'N' TO disk
  199.   STOR '99' TO build1
  200.   STOR '        ' TO filename
  201.   STOR '?' TO select
  202.  CASE select = 'B'
  203.   CLOS INDEX
  204.   GO TOP
  205. * initialize variables
  206.   STOR 0 TO pageno
  207.   STOR 0 TO counter
  208.   STOR 0 TO mamount
  209.   STOR 0 TO amt
  210.   STOR .t. TO more1
  211.   SET MARGIN TO 3
  212.   DO WHIL more1
  213. * do page counter etc
  214.    STOR pageno + 1 TO pageno
  215.    STOR 4 TO lineno
  216.    CLEA
  217.    ? '  '
  218. * and write TITLE
  219.    IF pageno = 1
  220.     ? coname1
  221.     ? '                           CASH DISBURSEMENTS JOURNAL'
  222.     ? ' '
  223.     ? 'Report of ' +DTOC(date()) + '.                  ' + 'Covering period ' +stdat  + ' to   ' + enddat
  224.     STOR lineno + 4 TO lineno
  225.    ENDI pageno = 1
  226.    ? '                                                                    ' + 'PAGE ' + STR(pageno,2)
  227.    ? '  Date    Check #'+'  Payee/Description '+ '     Account    Prop   ' + '  ' + 'Amount'
  228.    ? "----------------------------------------------------------------------------"
  229.    ? ' '
  230. * now fill up rest of page to 50 lines with entries
  231.    DO WHIL lineno < 50
  232. * now do a page if not end of file
  233.     IF .NOT. EOF()
  234.      STOR VAL(date) TO stdate1
  235.      IF (build1 = '99' .OR. build1 = SUBSTR(data,5,2)).AND.((stdate1 >= stdate .AND. stdate1 <= enddate) .AND. SUBSTR(data,40,1) = 'D')
  236.       STOR SUBSTR(date,3,2)+'/'+SUBSTR(date,5,2)+'/'+SUBSTR(date,1,2)+'     ' TO m1
  237.       IF SUBSTR(data,5,2) = '00'
  238.        STOR '  ' TO prop
  239.       ELSE
  240.        STOR SUBSTR(data,5,2) TO prop
  241.       ENDI $(data)
  242.       ? m1+SUBSTR(data,1,4)+'  '+SUBSTR(data,12,20)+'     '+SUBSTR(data,7,4)+'     '+prop+'  ' + STR(amount,12,2)
  243.       STOR mamount + amount TO mamount
  244.       SKIP
  245.       IF amount < 0
  246.        STOR amount*-1 TO amt
  247.       ELSE
  248.        STOR amount to amt
  249.       ENDI amount
  250.       ? '                   '+SUBSTR(data,12,20)+'     '+SUBSTR(data,7,4)+ '               ' + STR(amt,12,2)
  251.       ? ' '
  252.       STOR lineno +3 TO lineno
  253.       SKIP
  254.      ELSE
  255.       SKIP
  256.      ENDI stdate
  257.     ELSE
  258.      ? ' '
  259.      ? '                         TOTAL DISBURSEMENTS LISTED FOR PERIOD:  ' + STR(mamount,12,2)
  260.      ? ' '
  261.      STOR .f. TO more1
  262.      STOR 60 TO lineno
  263.     ENDI not EOF
  264.    ENDD while lineno < 50
  265.   ENDD more1
  266. * if it was on turn it off
  267.   IF printer = 'Y'
  268.    EJEC
  269.    SET PRINT OFF
  270.   ENDI